// Node.js 提供一组类似 UNIX（POSIX）标准的文件操作API。 

var fs = require('fs');

// 读取文件
var fpath = "d:\\input.txt";

// 1、异步和同步

fs.readFile(fpath, function(err, data) {
	if (err) {
		return console.error(err);
	}
	
	console.log('异步读取：' + data.toString());
});

var data = fs.readFileSync(fpath);
console.log('同步读取：' + data.toString());

console.log('END.21');

// 2、打开文件
// 异步模式
// fs.open(path, flags[, mode], callback)
// flags: r s w a x +

// 异步打开文件
console.log('准备打开文件');

fs.open(fpath, 'r+', function(err, fd) {
	if (err) {
		return console.error(err);
	}
	
	console.log('文件打开成功。');
});

console.log('END.38');

// 3、获取文件信息
// fs.stat(path, callback)

fs.stat(fpath, function(err, stats) {
	if (err) {
		return console.error(err);
	}
	
	console.log(stats);
	console.log('读取文件信息成功');
	
	console.log('isFile=' + stats.isFile());
	console.log('isDirectory=' + stats.isDirectory());
});

console.log('END.56');

// 4、写入文件
// fsWrite.js

// 5、读取文件
// fs.read(fd, buffer, offset, length, position, callback)
// 6、关闭文件
// fs.close(fd, callback)
// fsRead.js

// 7、截取文件
// fs.ftruncate(fd, len, callback)
// 先截取，再读取

// 8、删除文件
// fs.unlink(path, callback)
// fsUnlink.js

// 9、创建目录
// fs.mkdir(path[, options], callback)
var ndir = "d:\\nodejs220114";
console.log('创建目录：' + ndir);

// 重复创建 异常
// [Error: EEXIST: file already exists, mkdir 'd:\nodejs220114']
fs.mkdir(ndir, function(err) {
	if (err) {
		return console.log(err);
	}
	console.log('目录创建成功。');
});

console.log('END.89');

// 10、读取目录
// fs.readdir(path, callback)
// fsReaddir.js

// 11、删除目录
// fs.rmdir(path, callback)
// fs.rmdir("/tmp/test",function(err){...

// 文件模块方法

// fsMkdir.js




